﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Loja.Controles.Aplicação;
using Loja.Padrao;


namespace Loja.Telas
{
    public partial class FormItemCaixa : PadraoCadastro
    {
        enum Tipos
        {
            CRÉDITO,
            DÉBITO
        }

        private Controle controle;

        private String tipo;

        private Int32 caixa_id;

        private Int32 itemCaixa;

        private Int32 novo;

        public FormItemCaixa(Controle controle, Int32 caixa, Int32 itemCaixa, Int32 novo)
        {
            this.controle = controle;
            this.caixa_id = caixa;
            this.itemCaixa = itemCaixa;
            this.novo = novo;
            InitializeComponent();
        }

        private void btnSair_Click_1(object sender, EventArgs e)
        {

        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (novo > 0)
            {
                if (controle.InserirItemCaixa(txtValor.Text, tipo, caixa_id, txtDescricao.Text, dtLancamento.Value))
                {
                    MessageBox.Show("Registro inserido com sucesso!");
                    this.Close();
                }
                else
                    MessageBox.Show("Erro ao Inserir!");
            }
            else
            {
                //update
                if (controle.AtualizarItemCaixa(itemCaixa, txtValor.Text, tipo, txtDescricao.Text, dtLancamento.Value))
                {
                    MessageBox.Show("Registro atualizado com sucesso!");
                    this.Close();
                }
                else
                    MessageBox.Show("Erro ao Inserir!");
            }            
        }

        private void FormItemCaixa_Load(object sender, EventArgs e)
        {
            cbTipo.DataSource = Enum.GetValues(typeof(Tipos));
            dtLancamento.Value = DateTime.Now;
            populaTela();                       
        }

        private void cbTipo_SelectedValueChanged(object sender, EventArgs e)
        {
            if (cbTipo.SelectedItem.ToString() == "CRÉDITO")
            {
                tipo = "C";
            }
            else
            {
                tipo = "D";
            }            
        }

        private void populaTela()
        {
            if (novo != 1)
            {
                var itemCaixas = controle.BuscaAlterarItemCaixa(itemCaixa);
                if (itemCaixas.TipoLancamento.ToString() == "C")
                    cbTipo.SelectedIndex = 0;
                else
                    cbTipo.SelectedIndex = 1;
                txtDescricao.Text = itemCaixas.Descricao;
                txtValor.Text = itemCaixas.Valor.ToString();
            }
        }
    }
}
